iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
0
Modern Web

網頁技術學習心得系列 第 23

Fetch & Promise 筆記七(Promise 加插使用、實作 XHR Promise)

  • 分享至 

  • xImage
  •  

兩個 promise 加插使用

const p1 = new Promise(resolve => {
   resolve(123);
})
const p2 = new Promise(resolve => {
    resolve(456)
})

p1.then(p1Data => {
  console.log(p1Data)
  return p2  
}).then(p2Data => {
    console.log(p2Data)
})
  .catch(err => console.log('err', err))

回傳 p1 & p2 的 resolve 結果!

實作把 XHR 包成 Promise!

const myPromise = new Promise( (resolve, reject) => {
    var request = new XMLHttpRequest();
    request.open(
        'GET', 
        'https://run.mocky.io/v3/d2381372-4e30-4ec6-8a03-c3573417112d', 
        true
        );

    request.onload = function() {
        if (this.status >= 200 && this.status < 400) {
            // Success!
            var data = JSON.parse(this.response);
            resolve(data)
        } else {
            reject('connect error!')
        }
    };
    request.onerror = function(err) {
        reject(err)
    };
    request.send();
})

myPromise.then(myPromise => {
  console.log('myPromise data:', myPromise) 
}).catch(err => console.log('err', err))

成功回傳該網址的 response!


上一篇
Fetch & Promise 筆記六(Promise type)
下一篇
Fetch & Promise 筆記八(實作鬧鐘 Promise)
系列文
網頁技術學習心得30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言